#define RGB_Num 34  //the numbers of leds
/*
 * function:OnePoint_3Cricle. Just one on-led in every cricle.
 * offset: the offset led of a line
 * width:  the numbers of off-led. In the video it shows 2
 * color:  the color set to on-led
*/
void OnePoint_3Cricle(int offset, int width, PIXEL_TYPE color){ 
  offset = offset % (width + 1);
  int i = 0;
  for (; offset > (width + i); i++){//light leds before offset
    leds[i] = color;
  }
  for (; i < offset; i++){//off leds before offset
    leds[i] = 0;
  }
  for (; i < RGB_Num; i++){//ctrl leds after offset
    for (int j = 0; j < 1; j++){ //light leds after next cricle
      i = i + j;
      leds[i] = color;
    }
    for (int j = 0; j < width; j++){//off leds after next cricle
      i++;
      leds[i] = 0;
    }
  }
  leds_show();  //show led line, you should call your own implemention
}

/*
call example:

gobal int offset = 0;
void main(){
    ...
    leds_driver();
    ...
    while(1){
        OnePoint_3Cricle(offset, 2, 0xff0000);//0xff0000 equ to red(rgb)
        delay_ms(500);
        offset++;
    }
}
*/